package com.manli.wechat.utils.wechattemplate;

import org.springframework.stereotype.Component;

import com.alibaba.fastjson.JSONObject;

/**
 * 微信消息模板发送
 * @author Shensg
 *
 * 2020年4月4日
 */
@Component
public class WeChatTemplateUtil {
    
    public static String templateColor = Color.TEMPLATE.getColorCode();
    
    public static JSONObject packageMessage(String... allStr) {
        JSONObject json = new JSONObject();
        JSONObject jsonObj = new JSONObject();
        jsonObj.put("value", allStr[0]);
        jsonObj.put("color", (allStr[1] != null) ? allStr[1] : templateColor);
        json.put("first", jsonObj);
        for(int i=2,j=1;i<allStr.length-2;i+=2,j++) {
            jsonObj=new JSONObject();
            jsonObj.put("value", allStr[i]);
            jsonObj.put("color", allStr[i+1] != null ? allStr[i+1] : templateColor);
            json.put("keyword"+j, jsonObj);
        }
        jsonObj=new JSONObject();
        jsonObj.put("value", allStr[allStr.length-2]);
        jsonObj.put("color", allStr[allStr.length-1] != null ? allStr[allStr.length-1] : templateColor);
        json.put("remark", jsonObj);
        return json;
    }
    /** 
    * @Description: 定义统一颜色风格的微信消息
    * @Param: Color 颜色的枚举类
    * @Param: String[] 消息的value
    * @return: 返回打包好的微信消息数据
    */ 
    public static JSONObject packageMessageWithColor(Color color,String... allStr) {
        JSONObject json = new JSONObject();
        JSONObject jsonObj = new JSONObject();
        jsonObj.put("value", allStr[0]);
        jsonObj.put("color", color.getColorCode());
        json.put("first", jsonObj);
        for(int i=1;i<allStr.length-1;i++) {
            jsonObj=new JSONObject();
            jsonObj.put("value", allStr[i]);
            jsonObj.put("color", color.getColorCode());
            json.put("keyword"+i, jsonObj);
        }
        jsonObj=new JSONObject();
        jsonObj.put("value", allStr[allStr.length-1]);
        jsonObj.put("color", color.getColorCode());
        json.put("remark", jsonObj);
        return json;
    }
    
}
